[sql]怎么把这些在查询结果中写成一张表格?

来源:百度知道 编辑:UC知道 时间:2024/06/21 23:30:10
declare @position int , @string char(3)
set @position =1
set @string = 'abc'
while @position <= datalength(@string)
begin
select ascii(substring(@string ,@position , 1)) as ASCII值
select char(ascii(substring(@string ,@position , 1))) as 对应字母
set @position = @position + 1
end
go

查询结果不是一张表格,而是一块一块分开来的,有什么办法把他们弄成一张表格?

这个是没办法的!

因为你的循环是select,所以每循环一次都多一个表格!

如果你想实现的你的目的:

你试试看

declare @position int , @string char(3)
set @position =1
set @string = 'abc'
while @position <= len(@string)
begin
select cast(ascii(substring(@string ,@position , 1)) as varchar) as ASCII值
union select char(ascii(substring(@string ,@position , 1))) as 对应字母

set @position = @position + 1
end

go

试试看!
最多也只能这个样子!

如果你想实现!
必须把值插入到临时表,然后读取!

select ascii(substring(@string ,@position , 1)) as ASCII,char(ascii(substring(@string ,@position , 1))) as 对应字母,@position = @position + 1